#pragma once

#include <memory>
#include "Containers/Containers.h"


#include "ScriptCompiler/Description/IdentifierDescription.h"

struct SDecoratedTypeDescription;

class CParameterDescription : public IIdentifierDescription
{
public:
    
    virtual EIdentifierType GetIdentifierType() const override
    {
        return EIdentifierType::Parameter;
    }

    uint32_t ArgumentIndex = 0;

    CString Name;

    SDecoratedTypeDescription Type;

    bool bIsOut=false;
    bool bIsRef=false;
    
    virtual CString GetSearchName() const override
    {
        return Name;
    }

};